<?php
	include_once '../../include/inc_session.php';	
	
	$idContrat = $_GET['idc'];
	$idSinistre = $_GET['sin'];
	$oContrat  = ($_GET['idc']=='') ? new dataObject_contrat() : new dataObject_contrat($idContrat);
	$sCONTRAT_NUM = (isset($_POST['ONN_num_contrat'])) ? $_POST['ONN_num_contrat'] : $oContrat->_NUMERO;
		
		
	if(isset($_GET['retour']) && $_GET['retour']==1)
	{
		 //1-fournir les conditions d’indemnisation de la garantie souscrite de type « justificatif »
		
		//$oSinistre = new dataObject_sinistre($_SESSION['idsinistre']);
		$oSinistre = new dataObject_sinistre($idSinistre);
		$oJustif   = new dataObject_justificatif();
		
		$asJust    = $oJustif->justificatif_getListPieceManquante($idSinistre);
		//si piece manquante, on teste en plus si le type est bien associé au type de sinistre
		if($oSinistre->_TYPE_SINISTRE == 'D')
 			$sAutreCode = 'CIN';
 		else $sAutreCode = 'CD';
 		
 		/*if((count($asJust) == 1) && ($asJust[0]['Code_condition_indemnisation']== $sAutreCode))
 		{
 			$asJust = array();
 		}*/
 		foreach($asJust as $i => $aRow)
 		{
	 		if($aRow['Code_condition_indemnisation']== $sAutreCode)
	 		{
	 			unset($asJust[$i]);
	 			$asJust = array_values($asJust);
	 		}
 		}
	 	
	 	if(!empty($asJust)) //2 – si une des conditions d’indemnisation ne dispose pas de justificatif, l’éligibilité du sinistre est à N
	 		$oSinistre->_ELIGIBILITE_SINISTRE = 'N';
		else $oSinistre->_ETAT_SINISTRE = 'A'; //3 – si à chacune des conditions d’indemnisation correspond un justificatif, passer l’état du sinistre à A (à transmettre)
	
		//4 – modifier le sinistre, en cas d’erreur technique, afficher le message d'erreur
		$bMaj = $oSinistre->sinistre_update();

		$msg = '';
		if($bMaj===false)
		{
			$oForm->ajouterErreur(pbm_modification_sinistre);
			$msg = 'msg=pbmSinistre';
		}
		//5 - Affichage du menu des fonctions
		header("location:../../menu.php?".$msg);
	}
	
	
	// Construction de l’objet Template
	$oPaj= new Template(PATH_TEMPLATE.'tpl_listeintervenants.html');

	// Construction du formulaire
	$asInputs = array(array('label_input'=>'N° CONTRAT ','input_name'=>'ONN_num_contrat', 'input_value'=> $sCONTRAT_NUM, 'maxlength'=>'20', 'class'=>'resize_2')); 
	   					  
	$oPaj->iterateReplace('champ_input', $asInputs);
	// Entête du tableau listant les intervenants sur le contrat
	$aEnteteTab = array(
						array("num_colonne"=>2, "nom_colonne"=>"TYPE ASSURE"),
						array("num_colonne"=>3, "nom_colonne"=>"NOM"),
						array("num_colonne"=>4, "nom_colonne"=>"PRENOM"),
						array("num_colonne"=>5, "nom_colonne"=>"DATE NAISSANCE")
					    );
					    
	$oPaj->iterateReplace('colonne', $aEnteteTab );
	
	//
	if($gbFormValid || isset($_GET['idc']) ) //données du formulaire validées, on fait la mise à jour
	{	
		// Variable pour tester l'existence du contrat
		$Exist = $oContrat->contrat_searchNumero($sCONTRAT_NUM);
		// Variable pour tester l'état du contrat
		$Resilier = $oContrat->contrat_resilierEtat($sCONTRAT_NUM);
		
		// Récupération de l'identifiant du contrat
		$idContrat = $oContrat->contrat_getIdFromNumContrat($sCONTRAT_NUM);
		
		//Récupération de la liste des intervenants (actifs) assurés sur le contrat
		$asBlocs = $oContrat->contrat_getListIntervenantAssureActif($idContrat);
		
		//var_dump($asBlocs);
		// Affichage msg d'err si contrat inexistant dans la base
		if(!$Exist)
		{
			$oForm->ajouterErreur(contrat_inexistant_old);
		}
		// Affichage msg d'err si contrat résilié 
		if($Resilier){
			$oForm->ajouterErreur(contrat_resilie_sans);
		}else
		{
			if($Exist)
			{
			// Affichage msg d'err si contrat NON résilié et ne comporte pas d'intervenants
			//		if(sizeof($asBlocs)==0){
					if(!$asBlocs)
					{
							$oForm->ajouterErreur(contrat_sans_intervenant);
					}else
					{
						unset($_SESSION['idsinistre']);	
						$idContrat = $oContrat->contrat_getIdFromNumContrat($sCONTRAT_NUM)	;
						$aList = array();
						
						foreach($asBlocs as $iKey => $aRow)
						{
							$aTyp_assure = dataObject_elementdico::elementdico_getNomFromCode($aRow["Type_assure"], dataObject_dictionnaire::TYPE_ASSURE);
							$aEtat_role = dataObject_elementdico::elementdico_getNomFromCode($aRow["Etat_role"],dataObject_dictionnaire::_ETAT_ROLE);
							

							$aCorps = array("id_ligne"=>$aRow["Identifiant_personne"].'&idc='.$idContrat.'&typass='.$aRow["Type_assure"].'&idrole='.$aRow["Identifiant_role"].'&sin=');

							if(($iKey+1)%2==0) $aCorps = array_merge($aCorps, array("color"=> "color"));
						
							$aCorps = array_merge($aCorps, array("num_colonne_2"=>2, "val_ligne_2"=> $aTyp_assure));
							$aCorps = array_merge($aCorps, array("num_colonne_3"=>3, "val_ligne_3"=> $aRow["Nom_personne"]));
							$aCorps = array_merge($aCorps, array("num_colonne_4"=>4, "val_ligne_4"=> $aRow["Prenom_personne"]));
							$aCorps = array_merge($aCorps, array("num_colonne_5"=>5, "val_ligne_5"=> dataObject_elementdico::showDate($aRow["Date_naissance_personne"])));
							
							$aList[$iKey] =  $aCorps;
						}
					
						$oPaj->iterateReplace('tablist', $aList);
					}
			}

		}
	}

	$oPaj->replace('nom_module', $oBloc->_MENU_NOM);
	$oPaj->replace('nom_fonction', $oFonction->_MENU_AFFICHE);
	$oPaj->replace('nom_liste',"Liste des intervenants");

	$oPaj->replace('num_contrat', $idContrat);
	$oPaj->replace('url_declarer','declarer_sinistre.php?idbloc='.$oBloc->_MENU_ID.'&idfonction='.$oFonction->_MENU_ID.'&id=');
	$oPaj->replace('bRetour_fonction', true);
	
	//$oPaj->replace('url_retour_fonction', '../../menu.php');
	$oPaj->replace('url_retour_fonction', 'index.php?retour=1&sin='.$idSinistre);
	
	$oPaj->iterateReplace('messages', $oForm->getValidMessage());

	/***** affichage de la page ainsi parametrée *****/
	echo $oPaj->toString();
	
	include_once PATH_INCLUDE.'inc_pied_page.php';
?>